package com.ssy.lingxi.purchase.service.tender;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.purchase.api.dto.request.tender.ExpertExtractQueryRequest;
import com.ssy.lingxi.purchase.api.dto.request.tender.SimpleIdRequest;
import com.ssy.lingxi.purchase.entity.tender.ExpertExtract;
import org.springframework.data.domain.Page;

/**
 * 评标专家库管理类
 * @author jw.chen
 * @version 2.0.0
 * @date 2020/6/22
 */
public interface IExpertExtractService {

    /**
     * 查询评标专家库列表
     * @param pageVO 分页实体
     * @param expertExtractQueryRequest 评标专家库
     * @return
     */
    Page<ExpertExtract> getExpertExtractList(UserLoginCacheDTO sysUser, PageVO pageVO, ExpertExtractQueryRequest expertExtractQueryRequest);

    /**
     * 查询评标专家库
     * @param expertExtractId
     * @return Wrapper<?>
     */
    ExpertExtract getExpertExtract(UserLoginCacheDTO sysUser, Long expertExtractId);

    /**
     * 添加/修改评标专家库
     * @param expertExtract
     * @return
     * @throws Exception
     */
    String saveOrUpdateExpertExtract(UserLoginCacheDTO sysUser, ExpertExtract expertExtract);

    /**
     * 发送抽取通知
     * @param sysUser
     * @param simpleIdRequest
     * @return
     */
    Boolean sendExpertExtract(UserLoginCacheDTO sysUser, SimpleIdRequest simpleIdRequest);

    /**
     * 再次发送抽取通知
     * @param sysUser
     * @param simpleIdRequest
     * @return
     */
    Boolean sendExpertExtractAgain(UserLoginCacheDTO sysUser, SimpleIdRequest simpleIdRequest);

    /**
     * 删除
     * @param sysUser
     * @param simpleIdRequest
     * @return
     */
    Boolean deleteExpertExtract(UserLoginCacheDTO sysUser, SimpleIdRequest simpleIdRequest);
}
